home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / INCLUDES / I3DEXPOS.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  2.8 KB  |  68 lines

  1. /* $Id: I3DEXPOS.H 1.5 1996/09/04 04:07:08 YannPC Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExPos.h -     I3DExPostRenderer definition                                              *
  5. *                                                                             *
  6. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  7. *                                                                             *
  8. \*****************************************************************************/
  9.  
  10. #ifndef __I3DEXPOS__
  11. #define __I3DEXPOS__
  12.  
  13. #ifndef __I3DEX__
  14. #include "I3DEx.h"
  15. #endif
  16.  
  17. #ifndef __I3DSHSCN__
  18. #include "I3DShScn.h"
  19. #endif
  20.  
  21. #ifndef __I3DSHUTI__
  22. #include "I3DShUti.h"
  23. #endif
  24.  
  25. //****** Globally Unique Ids *************************************************
  26.  
  27. //DEFINE_GUID(IID_I3DExLightsource, 0xA930ED80L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  28. // {F62A58A0-F76D-11cf-9A2C-0020AF28193A}
  29. DEFINE_GUID(IID_I3DExPostRenderer, 0xf62a58a0L, 0xf76d, 0x11cf, 0x9a, 0x2c, 0x00, 0x20, 0xaf, 0x28, 0x19, 0x3a);
  30.  
  31. /*****************************************************************************\
  32. *  I3DExPostRenderer                                                          *
  33. *                                                                             *
  34. *  Post Renderers                                                             *
  35. *                                                                             *
  36. \*****************************************************************************/
  37.  
  38. //typedef void (*ForEachShadowBufferCallback)(BOOLEAN lightType, TRANSFORM3D* transform, NUM3D halfAngle, void* priv);
  39.  
  40. #undef  INTERFACE
  41. #define INTERFACE   I3DExPostRenderer
  42.  
  43. DECLARE_INTERFACE_(I3DExPostRenderer, I3DExDataExchanger) {
  44.     // IUnknown methods
  45.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  46.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  47.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  48.   
  49.     // I3DExtension methods
  50.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  51.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  52.  
  53.   // I3DExDataExchanger methods
  54.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  55.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  56.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  57.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  58.     STDMETHOD_(short, GetResID) (THIS) PURE;
  59.   
  60.   // I3DExPostRenderer methods
  61.     STDMETHOD_(void, Filter) (THIS_ I3DShScene* theScene,IShRasterOffscreen* theImage,IUnknown** theBuffers,
  62.                                                              IShGraphicDevice* gd, /*TExternalRenderer*/void* renderer, void* renderHelper) PURE;
  63.     STDMETHOD_(void, GetBufferNeeds) (THIS_ long* needs, /*TExternalRenderer*/void* renderer) PURE;
  64.     };
  65.  
  66.  
  67. #endif
  68.